#include <p32xxxx.h>
#include <plib.h>
// Configuracion de bits
#pragma config FNOSC = FRCPLL       // oscilador interno de 8MHz (PLL)
#pragma config FPLLIDIV = DIV_2     // 4MHz producto de la divicion del PLL
#pragma config FPLLMUL = MUL_20     // multiplicador del PLL (80MHZ)
#pragma config FPLLODIV = DIV_2     // Divide el multimplicador (40 MHz)
#pragma config FWDTEN = OFF         // desactivar el timer guardian
#pragma config ICESEL = ICS_PGx1    // comando de seleccion de canal
#pragma config JTAGEN = OFF         // desactivar JTAG
#pragma config FSOSCEN = OFF        // desactivar el oscilador secundario
#pragma config FPBDIV = DIV_1       // PBCLK = SYCLK
#define SYSCLK 40000000L            // se fefine el oscilador
void delay_us( unsigned t)         //se hara un retardo en microsegundos
{
    T1CON = 0x8000;               // enciende el Timer1, fuente PBCLK, 1:1 prescaler

    // delay 100us para un tiempo menor a 100us
    while( t >= 100)
    {
        t-=100;
        TMR1 = 0;
        while( TMR1 < SYSCLK/10000); // espera 100us
    }

    // delay 10us para un tiempo menor a 10us
    while( t >= 10)
    {
        t-=10;
        TMR1 = 0;
        while( TMR1 < SYSCLK/100000); // espera 10us
    }

    // delay 1us para un tiempo ultimo
    while( t > 0)
    {
        t--;
        TMR1 = 0;
        while( TMR1 < SYSCLK/1000000); // espera 1us
    }

    // desactiva el Timer1
    T1CONCLR = 0x8000;
}
//fin de la funcion delay us
void main(){

    TRISD=0xf0;
    AD1CON1=15;
    AD1CON2=128;
    //Sensor de ultrasonido
    TRISCbits.TRISC2=0;//Declarado como salida-TRIG
    TRISCbits.TRISC1=1;//Declarado como entrada-ECHO




}
